草庐IT

python - 在 Python 中抓取磁盘?

全部标签

javascript - Web 抓取具有动态 javascript 内容的网站

所以我使用python和beautifulsoup4(我没有绑定(bind))来抓取网站。问题是当我使用urlib获取页面的html时,它不是整个页面,因为其中一些是通过javascript生成的。有什么办法可以解决这个问题吗? 最佳答案 基本上有两个主要选项可以继续:使用浏览器开发工具,查看哪些ajax请求将加载页面并在脚本中模拟它们,您可能需要使用json将响应json字符串加载到python数据结构中的模块使用selenium等工具打开一个真正的浏览器。浏览器也可以是“headless”的,参见HeadlessSelenium

Javascript unescape() 与 Python urllib.unquote()

看了各种帖子,好像是JavaScript的unescape()相当于Pythonsurllib.unquote(),但是当我测试两者时,我得到不同的结果:在浏览器控制台中:unescape('%u003c%u0062%u0072%u003e');输出:在Python解释器中:importurlliburllib.unquote('%u003c%u0062%u0072%u003e')输出:%u003c%u0062%u0072%u003e我希望Python也返回.关于我在这里缺少什么的任何想法?谢谢! 最佳答案 %uxxxx是nonst

javascript - 如何在 Node 环境中使用 Puppeteer 创建 PDF 而无需将其写入磁盘

背景我在需要生成PDF的node.jsExpress应用程序中工作。目前我们正在使用来自Google的Puppeteer,这让这一切变得简单。在文档中,它显示的方法是将路径传递给对象,告诉Puppeteer在何处写入PDF。问题我不想将此PDF文件写入磁盘。这里的目标是让客户端到达终点,在该终点生成PDF并将其返回给客户端。创建一个文件2秒会增加一点点状态,这让我不得不处理更多令人头疼的事情才能部署到生产环境。示例(async()=>{constbrowser=awaitpuppeteer.launch();constpage=awaitbrowser.newPage();awaitp

javascript - Jquery 获取每个 div 的子子 div 并将信息抓取到数组中

我有一些看起来像这样的html我想将每个sub_maindiv信息提取到javascript中的数组中。到目前为止,我有这个作为我的jquery代码$('#main').find('.sub_main').each(function(){alert('hi');});警报只是一个测试,它应该显示“hi”两次。但这是行不通的。我也不清楚如何将两个输入存储在javascript数组中。任何帮助都会很棒!谢谢, 最佳答案 vararray=$('#maininput').map(function(){return$(this).val()

javascript - 如何抓取无限滚动页面?

我正在尝试构建可以从具有无限滚动的页面中抓取内容的东西。但是,我无法从第一个“中断”下方获取内容。我该怎么做? 最佳答案 无限滚动几乎总是通过使用AJAX或相关技术在JavaScript中完成的。因此,您的网络爬虫获取HTML并解析它是不够的;它必须下载并执行javascript,或者至少扫描它以查找AJAX调用。执行完整的javascript可能是最好的(即最能保证工作),但也可能是最难做到的。扫描AJAX请求的javascript和/或寻找执行AJAX调用的函数然后进行DOM操作可能是最简单的(相对于完整的JS执行)

javascript - Selenium (Python): How to insert value on a hidden input?

我正在使用Selenium的WebDriver并使用Python进行编码。有一个隐藏的输入字段,我试图在其中插入一个特定的日期值。该字段最初会生成一个日历,用户可以从中选择合适的日期,但这似乎比直接插入合适的日期值更复杂。页面的源代码如下所示:其中value="2013-11-26"是我试图注入(inject)一个值的字段(它最初是空的,即:value=""。我知道WebDriver无法将值插入隐藏输入,因为普通用户无法在浏览器中执行此操作,但解决方法是使用Javascript。不幸的是,这是一种我不熟悉的语言。有人知道什么会起作用吗? 最佳答案

关于 Python 'map()' 函数的 Javascript 与 Python

在Python中有一个名为map的函数,它允许你去:map(someFunction,[x,y,z])并继续应用该列表功能。是否有与此功能等效的javascript?我现在刚开始学习Python,虽然有人告诉我javascript是函数式语言,但我可以看出我一直在使用非函数式javascript风格进行编程。作为一般规则,javascript能否像Python一样有效地用作函数式语言?它有没有像上面的map函数一样的技巧?我也刚刚开始学习SML类(class),想知道我学到的知识有多少也适用于javascript。 最佳答案 当然!

javascript - 在 JavaScript 或 jQuery 中是否有等效于 Python 的 all 函数?

在Python中,all()函数测试列表中的所有值是否为真。例如,我可以写ifall(xJavaScript或jQuery中是否有等效的函数? 最佳答案 显然,它确实存在:Array.prototype.every.来自mdn的示例:functionisBigEnough(element,index,array){return(element>=10);}varpassed=[12,5,8,130,44].every(isBigEnough);//passedisfalsepassed=[12,54,18,130,44].every

javascript - 如何检测由新的抓取标准发起的请求?一般来说,我应该如何检测 AJAX 请求?

在服务器上,知道传入请求是AJAX是很有用的。大多数js库使用XMLHttpRequest,因此提供HTTP_X_REQUESTED_WITH:XMLHttpRequest,但Chrome的实现和Github'spolyfill都没有提供新的fetch使用类似的header。那么如何检测请求是AJAX请求呢?为什么标识其发起者的请求没有通过fetch和XMLHttpRequest标准强制执行?是否应该使用其他东西来做出决策(例如,客户提供他们期望响应的内容类型)? 最佳答案 查看thisissue在Github'spolyfill上

javascript - GAE( python ): set Access-Control-Allow-Origin

我在googleappengine(python)中有一个静态页面,我想从另一个页面$.load()此页面的内容->因此我遇到了CORS问题。如何在GAE中设置允许所有域加载页面内容?(Access-Control-Allow-Origin:*) 最佳答案 在app.yaml中http_headers:X-Foo-Header:fooX-Bar-Header:barvaluehttps://developers.google.com/appengine/docs/python/config/appconfig#Static_Dire